package mundo;

public class Nodo {
	
	
	/**
	 * Operadores
	 */
	private static final String MAS = "+";
	
	private static final String MENOS = "-";
	
	private static final String MULT = "*";
	
	private static final String DIV = "/";
	
	private static final String EXP = "2^";
	
	private static final String LOG = "log";
	
	private static final String CUAD = "^2";
	
	private static final String RC = "rz";
	
	private String elemento;
	
	private Nodo hijoD;
	
	private Nodo hijoI;

	public Nodo(String raizn)
	{
		
		elemento = raizn;
		System.out.println("raiz " + elemento  + "\n" + "hijoD " + hijoD + "\n" + "hijoI " + hijoI );
	}
	public void agregarHijoD(Nodo hijoDer)
	{
		hijoD = hijoDer;
	}
	
	public void agregarHijoI(Nodo hijoIzq)
	{
		hijoD = hijoIzq;
	}
	
	public Nodo darhijoD()
	{
		return hijoD;
	}
	
	public Nodo darhijoI()
	{
		return hijoI;
	}
	public String darElemento()
	{
		return elemento;
	}
	
	 public boolean esHoja( )
	    {
	        return hijoI == null && hijoD == null;
	    }
	 public boolean noHayHijoD( )
	    {
	        return hijoD == null;
	    }
	 
	 public boolean noHayHijoI( )
	    {
	        return hijoI == null;
	    }
	 
	 /**
		 * hace la verificacion si algo es un operador simple ("+","-","*","/",)
		 * @param operador
		 * @return
		 */
		
		public boolean esOperadorSimple()
		{
			
			if(elemento.equals(DIV) || elemento.equals(MAS) || elemento.equals(MENOS) || elemento.equals(MULT) )
				return true;
			else return false;
				
		}
		/**
		 * hace la verificacion si algo es un operador no simple ("exp","log","cuad","rc",)
		 * @param operador
		 * @return
		 */
		
		public boolean esOperadorNoSimple()
		{
			
			if(elemento.equals(EXP) || elemento.equals(LOG) || elemento.equals(CUAD) || elemento.equals(RC) )
				return true;
			else return false;
				
		}
		
}
